bdc3fdb9639f4ecc8363e5080ad80abad64dd784,lib/QMBForm/src/main/java/com/quemb/qmbform/view/FormPickerDialogFieldCell.java,FormPickerDialogFieldCell,onCellSelected,#,33

Before Change


    public void onCellSelected() {
        super.onCellSelected();

        getRowDescriptor().getDataSource().loadData(new DataSourceListener() {
            @Override
            public void onDataSourceLoaded(ArrayList list) {

                /*
                final ArrayAdapter adapter = new ArrayAdapter(getContext(),0,list);

                AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
                builder.setTitle(getRowDescriptor().getTitle())
                        .setSingleChoiceItems(adapter,0,new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                                onValueChanged(new Value<Object>(adapter.getItem(which)));
                                update();
                                dialog.dismiss();
                            }
                        });
                builder.show();
                */
                final ArrayAdapter adapter = new ArrayAdapter(getContext(),android.R.layout.simple_selectable_list_item,list);
                AlertDialog.Builder builder = new AlertDialog.Builder(getContext());

                builder.setSingleChoiceItems(adapter,-1,new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {

                        onValueChanged(new Value<Object>(adapter.getItem(which)));
                        update();
                        dialog.dismiss();
                    }
                })
                        .setTitle("Test");

                AlertDialog dialog = builder.create();
                dialog.show();
            }
        });


    }

After Change


    @Override
    public void onCellSelected() {
        super.onCellSelected();
        if (getRowDescriptor().getDataSource() == null){
            throw new NoDataSourceException();
        }else {
            getRowDescriptor().getDataSource().loadData(new DataSourceListener() {
                @Override
                public void onDataSourceLoaded(ArrayList list) {

                    final ArrayAdapter adapter = new ArrayAdapter(getContext(),android.R.layout.simple_selectable_list_item,list);
                    AlertDialog.Builder builder = new AlertDialog.Builder(getContext());

                    builder.setSingleChoiceItems(adapter,-1,new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {

                            onValueChanged(new Value<Object>(adapter.getItem(which)));
                            update();
                            dialog.dismiss();
                        }
                    })
                            .setTitle(getRowDescriptor().getTitle());

                    AlertDialog dialog = builder.create();
                    dialog.show();
                }
            });
        }